﻿using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Collections.Generic;

namespace DocTes.Jerarquias
{
    /// <summary>
    /// Clase que estiende las propiedades del objeto Linq Proyecto
    /// </summary>
    public partial class Proyecto : IEntidadLinqProyecto
    {
        /// <summary>
        /// Nombre del cliente del proyecto
        /// </summary>
        public string NombreCliente
        {
            get
            {
                DataClassesArbolDataContext dc = new DataClassesArbolDataContext();
               
                return (dc.Clientes.Single(x => x.Id == IdCliente)).Nombre;
               
            }
        }

        /// <summary>
        /// Nombre del area del proyecto
        /// </summary>
        public string NombreArea
        {
            get
            {
                DataClassesArbolDataContext dc = new DataClassesArbolDataContext();
                
                    return (dc.Areas.Single(x => x.Id == IdArea)).Nombre;
                

            }
        }

        

        /// <summary>
        /// Retorna el nombre del estado seleccionado
        /// </summary>
        public string NombreEstado
        {
            get
            {
                if (IdEstadoProyectoSeleccionado.HasValue)
                {
                    return this.EstadoProyecto.Nombre;
                }
                else
                {
                    return "No hay estado seleccionado";
                }
            }
        }
        /// <summary>
        /// Resumen del proyecto
        /// </summary>
        public string ResumenProyecto
        {
            get
            {
                //DataClassesArbolDataContext dc = new DataClassesArbolDataContext();
                //string nombreCarpetaBase = "CarpetaBase_" + this.IdCliente.ToString() + "_" + this.Id.ToString();
                
                //List<Documento> documentosProyecto = dc.Documentos.Where(x => x.IdProyecto == _Id).ToList();
                //if (documentosProyecto.Count > 0)
                //{
                //    List<Documento> documentosResumen = documentosProyecto.FindAll(x => x.DocumentoTag.Nombre == "Resumen Proyecto");
                //    if (documentosResumen.Count > 0)
                //    {
                //        Documento documentoResumen = documentosResumen.Find(x => x.JerarquiaCarpeta.Nombre == nombreCarpetaBase);
                //        if (documentoResumen != null)
                //        {
                //            string resumen = "Modificado: " + documentoResumen.Fecha.ToShortDateString();
                //            return resumen;
                //        }
                //        else
                //        {
                //            return "No se ha subido ningun resumen";
                //        }
                //    }
                //    else
                //    {
                //        return "No se ha subido ningun resumen";
                //    }
                //}
                //else
                //{
                    return "No se ha subido ningun resumen";
                //}
            }
        }

        /// <summary>
        /// Estado del proyecto seleccionado
        /// </summary>
        public string IdEstadoSeleccionado
        {
            get
            {
                if (this.IdEstadoProyectoSeleccionado.HasValue)
                {
                    return IdEstadoProyectoSeleccionado.Value.ToString();
                }
                else
                {
                    return "- - -";
                }
            }
            set
            {
                if (value != "- - -")
                {
                    IdEstadoProyectoSeleccionado = new Guid(value);
                }
                else
                {
                    IdEstadoProyectoSeleccionado = null;
                }


            }
        }
    }
}
